
import os
import config
import tools


def check_original_video():
    base_path = config.base_path
    if not os.path.exists(f'{base_path}原始'):
        os.mkdir(f'{base_path}原始')
        os.mkdir(f'{base_path}原始/原视频')
        os.mkdir(f'{base_path}原始/原srt')
    else:
        files = os.listdir(f'{base_path}原始')
        if '原srt' not in files:
            os.mkdir(f'{base_path}原始/原srt')
        if '原视频' not in files:
            os.mkdir(f'{base_path}原始/原视频')
    if not os.path.exists(f'{base_path}改写'):
        os.mkdir(f'{base_path}改写')
        os.mkdir(f'{base_path}改写/wav')
        os.mkdir(f'{base_path}改写/wav_t')
        os.mkdir(f'{base_path}改写/srt_c')
        os.mkdir(f'{base_path}改写/srt_gpt')
        os.mkdir(f'{base_path}改写/mp4')
        os.mkdir(f'{base_path}改写/temp')
    else:
        files = os.listdir(f'{base_path}改写')
        if 'wav' not in files:
            os.mkdir(f'{base_path}改写/wav')
        if 'wav_t' not in files:
            os.mkdir(f'{base_path}改写/wav_t')
        if 'srt_c' not in files:
            os.mkdir(f'{base_path}改写/srt_c')
        if 'mp4' not in files:
            os.mkdir(f'{base_path}改写/mp4')
        if 'srt_gpt' not in files:
            os.mkdir(f'{base_path}改写/srt_gpt')
        if 'temp' not in files:
            os.mkdir(f'{base_path}改写/temp')


    original_video_name, original_video_full_name = tools.get_file_name(f'{base_path}原始/原视频', 'mp4')
    if original_video_name:
        config.original_video_file = f'{base_path}原始/原视频/{original_video_full_name}'
        config.original_video_name = original_video_name
    else:
        raise Exception('没有找到‘原始-原视频’文件夹 或 ‘原始-原视频’文件夹里面没有mp4文件！')


def check_original_srt():
    base_path = config.base_path
    original_srt_name, original_srt_full_name = tools.get_file_name(f'{base_path}原始/原srt', 'srt')
    if original_srt_name:
        config.original_srt_file = f'{base_path}原始/原srt/{original_srt_full_name}'
        config.original_srt_name = original_srt_name
    else:
        raise Exception('没有找到‘原始-原视频’文件夹 或 ‘原始-原视频’文件夹里面没有srt文件！')


def check_version():
    config_item = tools.get_version_num()

    if config_item:
        version_i_latest = float(config_item['config_vlaue'])
        if config.version_i < version_i_latest:
            raise Exception(f'当前版本:{config.version_s}过低，请联系管理员，获取最新版本{version_i_latest}')

    else:
        raise Exception('无法获取服务器端版本号，请联系管理员！')
